package baiqitun.netfiles.service;

import baiqitun.netfiles.entity.BaseEntity;

import java.util.List;

/**
 * @author kedaji
 * @param <T>
 */
public interface EntityService<T extends BaseEntity> {

    /**
     * 获取对象
     * @param key 键
     * @return 对象
     */
    Object getObject(String key);

    /**
     * 根据key获取
     * @param key 键
     * @return 实体
     */
    T get(String key);

    /**
     * 保存实体类，会自动生成id作为主键
     * @param entity 实体类
     */
    void save(T entity);

    /**
     * 保存
     * @param key 键
     * @param value 值
     */
    void saveObject(String key, Object value);

    /**
     * 对键进行格式化
     * @param realKey 原始键
     * @return
     */
    String formatKey(String realKey);
}
